package com.ruoyi.statistic.mapper;

import com.ruoyi.statistic.domain.StatisticStudentSchoolInfo;

import java.util.List;

public interface StatisticStudentSchoolInfoMapper {

    /**
     * 查询学生院校信息
     *
     * @param id 学生院校信息主键
     * @return 学生院校信息
     */
    public StatisticStudentSchoolInfo selectStatisticStudentSchoolInfoById(Long id);

    /**
     * 查询学生院校信息列表
     *
     * @param statisticStudentSchoolInfo 学生院校信息
     * @return 学生院校信息集合
     */
    public List<StatisticStudentSchoolInfo> selectStatisticStudentSchoolInfoList(StatisticStudentSchoolInfo statisticStudentSchoolInfo);

    /**
     * 新增学生院校信息
     *
     * @param statisticStudentSchoolInfo 学生院校信息
     * @return 结果
     */
    public int insertStatisticStudentSchoolInfo(StatisticStudentSchoolInfo statisticStudentSchoolInfo);

    /**
     * 修改学生院校信息
     *
     * @param statisticStudentSchoolInfo 学生院校信息
     * @return 结果
     */
    public int updateStatisticStudentSchoolInfo(StatisticStudentSchoolInfo statisticStudentSchoolInfo);

    /**
     * 删除学生院校信息
     *
     * @param id 学生院校信息主键
     * @return 结果
     */
    public int deleteStatisticStudentSchoolInfoById(Long id);

    /**
     * 批量删除学生院校信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteStatisticStudentSchoolInfoByIds(Long[] ids);


    /**
     * 删除所有数据
     */
    public void deleteAll();


    /**
     * 聚合学生学籍信息
     */
    public List<StatisticStudentSchoolInfo> aggregationStatisticStudentSchoolInfo();


    /**
     * 查询聚合学生年级
     *
     * @return
     */
    public List<StatisticStudentSchoolInfo> selectStatisticAggregationGrade();


    /**
     * 查询聚合学生系别
     *
     * @return
     */
    public List<StatisticStudentSchoolInfo> selectStatisticAggregationDepartment();


    /**
     * 查询聚合学生专业
     *
     * @return
     */
    public List<StatisticStudentSchoolInfo> selectStatisticAggregationMajor();


    /**
     * 查询聚合学生专业
     *
     * @return
     */
    public List<StatisticStudentSchoolInfo> selectStatisticAggregationGraduationYear();
}
